The demand for data storage capacity is constantly increasing. While the capacities available from data storage devices are also increasing, many applications have data storage requirements that exceed the capacity available from a single data storage device. One storage solution for these applications is a data storage system using an array of data storage devices.
Data storage device arrays increase storage capacity by dividing the data to be stored among the devices in the array. For example, conventional systems typically divide the data by file or sector, with different files or sectors being stored in different devices in the array. While this arrangement results in improved storage capacity, the performance of the array as a whole is typically limited to the level of performance of the individual data storage devices. This limitation exists because conventional systems typically transfer the data one file at a time or one sector at a time to the individual data storage devices, which usually causes the data storage devices not receiving data to sit idle while they wait for data to be transferred to them.
Accordingly, a need exists for an improved parallel data storage system that provides both improvements in data capacity and data storage performance.